<!DOCTYPE html>
<html>
  <head>
    <link rel="canonical" href="http://blog.csdn.net/csdnnews/article/details/78898443"/> 
    <script type="text/javascript">
        var username = "csdnnews";
        var _blogger = username;
        var blog_address = "http://blog.csdn.net/csdnnews";
        var static_host = "http://csdnimg.cn/release/phoenix/";
        var currentUserName = ""; 
        var fileName = '78898443';
        var commentscount = 0;
        var islock = false
        window.quickReplyflag = true;
        var totalFloor = 0;
        var isBole = false;
        var isDigg = false;
        var isExpert=false;
        var isAdm = false;
    </script>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <script src="http://c.csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="http://c.csdnimg.cn/public/common/libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="http://c.csdnimg.cn/public/static/css/avatar.css">
    <link rel="stylesheet" href="http://csdnimg.cn/release/phoenix/production/main-f7fb2ae533.css">
    <link rel="stylesheet" href="http://c.csdnimg.cn/public/common/toolbar/content_toolbar_css/content_toolbar.css">

    <script src="http://csdnimg.cn/rabbit/exposure-click/main-1.0.5.js"></script>
    <script type="text/javascript" src="http://csdnimg.cn/pubfooter/js/tracking-1.0.2.js" charset="utf-8"></script>
    <script type="text/javascript" src="http://csdnimg.cn/release/phoenix/production/main-9512850059.js"></script>

    <script src="http://dup.baidustatic.com/js/ds.js"></script>
    <script type="text/javascript">
        // Traffic Stats of the entire Web site By baidu
        var _hmt = _hmt || [];
        (function() {
            var hm = document.createElement("script");
            hm.src = "https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(hm, s);
        })();
        // Traffic Stats of the entire Web site By baidu end
    </script>
    <meta name="description" content="点击上方“CSDN”，选择“置顶公众号”关键时刻，第一时间送达！在过去的一年中，Java 历经了许多变化。在今年年初，Java EE 处于一个不确定的状态，Java 9 版本也推迟了它的发布日期。在 2016 年的 JavaOne 上，甲骨文宣布了解决平台的计划和 Java SE 9 和 OpenJDK 9 的相关信息。2017 年 6 月，Java Community Process 执行委员会" />
    <meta name="keywords" content="" />
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <title>回顾 2017， Java 有哪些值得关注的重大变化？ - CSDN博客</title>
    <link href="http://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
</head>
<body>
<script id="toolbar-tpl-scriptId" prod="download" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/content_toolbar.js" type="text/javascript" domain="http://blog.csdn.net/"></script>
<div class="container clearfix">
  <main>
    <article>
        <h1 class="csdn_top">回顾 2017， Java 有哪些值得关注的重大变化？</h1>
        <div class="article_bar clearfix">
            <div class="artical_tag">
                <span class="original">
                转载                </span>
                <span class="time">2017年12月25日 00:00:00</span>
            </div>

            <ul class="article_tags clearfix csdn-tracking-statistics tracking-click" data-mod="popu_377" >
                <li class="tit">标签：</li>

<!--          [startarticletags]-->
                <!--          [endarticletags]-->
            </ul>
            <ul class="right_bar">
                <li><button class="btn-noborder"><i class="icon iconfont icon-read"></i><span class="txt">607</span></button></li>
                <li class="edit">
                    <a class="btn-noborder" href="" >
                        <i class="icon iconfont icon-bianji"></i><span class="txt">编辑</span>
                    </a>
                </li>
                <li class="del">
                    <a class="btn-noborder" onclick="javascript:deleteArticle(fileName);return false;">
                        <i class="icon iconfont icon-shanchu"></i><span class="txt">删除</span>
                    </a>
                </li>
            </ul>
        </div>
        <div id="article_content" class="article_content csdn-tracking-statistics tracking-click" data-mod="popu_519" data-dsm="post">
                        
    <div class="rich_media_content" id="js_content">
                    

                    

                    
                    
                    <p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;text-align:center;letter-spacing:1px;"><span style="color:#7F7F7F;font-size:14px;line-height:1.75em;">点击上方“</span><span style="font-size:14px;line-height:1.75em;color:#00B0F0;">CSDN</span><span style="color:#7F7F7F;font-size:14px;line-height:1.75em;">”，选择“置顶公众号”</span><span style="color:#7F7F7F;font-size:14px;"></span></p><p style="min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:25.6px;text-align:center;letter-spacing:1px;"><span style="color:#7F7F7F;font-size:14px;">关键时刻，第一时间送达！</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;"></span></p><p style="text-align:center;"><img style="visibility:visible !important;" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_png/Pn4Sm0RsAujOicQbibOOb1edhArKakWphwPYFQxw02QXdaLMRB7agvohSdxytVpoibtD7VNwIyJnTevbrN9ib7nbHQ/640?wx_fmt=png&amp;wxfrom=5&amp;wx_lazy=1" alt="640?wx_fmt=png&amp;wxfrom=5&amp;wx_lazy=1" /></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">在过去的一年中，Java 历经了许多变化。在今年年初，Java EE 处于一个不确定的状态，Java 9 版本也推迟了它的发布日期。在 2016 年的 JavaOne 上，甲骨文宣布了解决平台的计划和 Java SE 9 和 OpenJDK 9 的相关信息。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">2017 年 6 月，Java Community Process 执行委员会投票通过了被称为 JSR 376 的 Java 平台模块系统，该平台为 Java 9 奠定了基础。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">2017 年 8 月，甲骨文宣布要将 Java EE 转移到开源阵营。一个月后，Oracle 将 Java EE 转移到 Eclipse 基金会，Oracle 也继续支持现有的 Java EE 许可证。据甲骨文公司说，迁移到 Eclipse 基金会使组织能够采用更灵活的方式管理。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">Eclipse 基金会还有许多其他开源项目和基于社区的治理方法来加强项目合作和快速创新。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">2017 年 9 月，Java 9 发布了。它具有模块化架构，而不是 Java 以前版本中的单片架构。这样可以在较小的设备上实现可扩展性，这本应该是 JDK 8 中应包含的功能，但在 JDK 8 发布时尚未准备就绪。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">JShell 在 Java 中增加了 Read-Eval-Print-Loop 功能，允许开发人员在编写代码时获得即时反馈，这对初学者甚至有经验的 Java 开发人员尝试新的 API，库或功能都很有帮助。还有几个其他新功能可以改进 JVM 的编译和性能，以及增强核心库。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">在 2017 年 9 月的 JavaOne 上，一个名为 Java Guardians 的组织试着让 Oracle 给 Java EE 更大的关注来向前迈进，甲骨文终于开始谈论 Java EE，并表示计划在 2017 年完成并发布它。然而到了 2016 年 7 月份，开发人员仍然在等待 Java EE 更新的消息，在那期间也没有关于 Oracle 的消息。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">同样在 9 月，Oracle 建议对 Java SE 和 JDK 发布周期进行更改，使得版本更加灵活。它希望从 2018 年 3 月起每 6 个月发布一次重要版本，Java 9 更新版本将继续每季度发布一次，并且每三年会发布一次大版本。</span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;color:rgb(62,62,62);white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="color:#000000;line-height:1.6;">在 2017 年 10 月的 JavaOne 上，提供的几个软件工具已经宣布的新服务。Parasoft 发布更新了 Jtest，这是一个 Java 的单元测试助手。JNBridge 发布了 Java.VS，这个插件允许开发人员在 Visual Studio 中编写 Java 代码。Java.VS 还有 Java 代码编辑器，Java 项目系统，并允许 Java 开发人员使用 VS 构建系统和调试器接口的功能。</span></p><blockquote><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="line-height:1.6;font-size:14px;color:rgb(136,136,136);">原文：https://sdtimes.com/java/2017-changes-java/ </span></p><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;line-height:1.75em;letter-spacing:1px;"><span style="line-height:1.6;font-size:14px;color:rgb(136,136,136);">译文：http://www.oschina.net/news/91827/2017-changes-in-java</span><span style="line-height:1.6;"> </span></p></blockquote><p style="margin-top:15px;margin-right:8px;margin-left:8px;min-height:1em;white-space:normal;line-height:1.75em;letter-spacing:1px;"><img class="img_loading" style="color:rgb(62,62,62);font-size:16px;letter-spacing:1px;text-align:center;white-space:normal;line-height:25.6px;visibility:visible !important;" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_jpg/Pn4Sm0RsAuhjy3ca4Zqcv1iaBIiaicaJANGWW4rmAicwXDViap40ia2ZrXjjz82MZmC92E79qvoPoYymXB4TiboeCAnwg/640?wx_fmt=jpeg" alt="640?wx_fmt=jpeg" /><img class="__bg_gif img_loading" style="color:rgb(62,62,62);font-size:16px;letter-spacing:1px;text-align:center;white-space:normal;line-height:1.6;display:inline;visibility:visible !important;" title="引导分享与赞" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_gif/Pn4Sm0RsAuhjy3ca4Zqcv1iaBIiaicaJANGjt7ChWnsia5qs2vHlM86GdicP61juQ6SLb2qBw7icsc6Vh8jy5eOYCPZg/0?wx_fmt=gif" alt="0?wx_fmt=gif" /></p></div>
                      </div>
    </article>
      <div class="readall_box csdn-tracking-statistics tracking-click" data-mod="popu_376">
          <div class="read_more_mask"></div>
          <a class="btn btn-large btn-gray-fred read_more_btn" target="_self">阅读全文</a>
      </div>
      <div class="article_copyright">
              </div>
      <ul class="article_collect clearfix csdn-tracking-statistics tracking-click"  data-mod="popu_378">
          <li class="tit">本文已收录于以下专栏：</li>
<!--          [startarticlecolumns]-->
                                <!--          [endarticlecolumns]-->
      </ul>
      <div class="comment_box clearfix">
          <div id="comment_form">
              <div id="commentsbmitarear">
                              </div>
          </div>
      </div>
      <div class="comment_li_outbox">
          <div id="comment_list"></div>
      </div>

      <div class="more_comment">
          <div id="comment_bar" class="trackgin-ad" data-mod="popu_385"></div>
      </div>

      <h3 class="recommend_tit" id="related">相关文章推荐</h3>
      <div class="recommend_list clearfix" id="rasss">
                                                                                      <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/xishining/article/details/78851699"  target="_blank" strategy="BlogCommendFromCsdn_0">Visual Studio 2017 的重大功能回顾和针对 .NET 开发者的更新</a></h2>
                          <div class="summary">
                              来源：开源中国社区www.oschina.net/news/90807/overview-of-visual-studio-2017-updates-for-net-developersVisual ...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/xishining" target="_blank" strategy="BlogCommendFromCsdn_0"><img src="http://avatar.csdn.net/C/0/0/3_xishining.jpg" alt="xishining" title="xishining"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/xishining">xishining</a></li>
                              <li class="time">2017年12月20日 00:00</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>22</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dt><a href="http://download.csdn.net/download/u011730210/5967981" target="_blank" strategy="BlogCommendFromCsdn_1"><img class="maxwidth" src="http://csdnimg.cn/release/download/old_static/images/minetype/pdf.svg" alt="" title=""></a></dt>
                      <dd>
                          <div class="summary">
                              <h2><a href="http://download.csdn.net/download/u011730210/5967981" target="_blank" strategy="BlogCommendFromCsdn_1">PMBOK第五版重大变化</a></h2>
                              <div class="summary">
                                  <ul>
                                      <li class="time">2013年08月18日 09:12</li>
                                      <li class="visited_num fileSize">270KB</li>
                                      <li class="download_btn"><a href="http://download.csdn.net/download/u011730210/5967981" target="_blank">下载</a></li>
                                  </ul>
                              </div>
                          </div>
                      </dd>
                  </dl>
                                                                                      <script>
                      (function() {
                          var s = "_" + Math.random().toString(36).slice(2);
                          document.write('<div id="' + s + '"></div>');
                          (window.slotbydup=window.slotbydup || []).push({
                              id: '4765209',
                              container: s,
                              size: '808,120',
                              display: 'inlay-fix'
                          });
                      })();
                  </script>
                                                                <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dt><a href="http://download.csdn.net/download/LoveYouForever2010/2437207" target="_blank" strategy="BlogCommendFromCsdn_2"><img class="maxwidth" src="http://csdnimg.cn/release/download/old_static/images/minetype/doc.svg" alt="" title=""></a></dt>
                      <dd>
                          <div class="summary">
                              <h2><a href="http://download.csdn.net/download/LoveYouForever2010/2437207" target="_blank" strategy="BlogCommendFromCsdn_2">Silverlight 的重大变化</a></h2>
                              <div class="summary">
                                  <ul>
                                      <li class="time">2010年06月08日 06:56</li>
                                      <li class="visited_num fileSize">301KB</li>
                                      <li class="download_btn"><a href="http://download.csdn.net/download/LoveYouForever2010/2437207" target="_blank">下载</a></li>
                                  </ul>
                              </div>
                          </div>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/ladooz/article/details/25309715"  target="_blank" strategy="BlogCommendFromCsdn_3">hadoop2的重大变化简介</a></h2>
                          <div class="summary">
                              hadoop2相对hadoop1有非常重大的改进。

下面看一下在HDFS和MapReduce方面的改进：

HDFS Federation（HDFS联邦）



HDFS有两个主要层...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/ladooz" target="_blank" strategy="BlogCommendFromCsdn_3"><img src="http://avatar.csdn.net/9/A/B/3_ladooz.jpg" alt="ladooz" title="ladooz"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/ladooz">ladooz</a></li>
                              <li class="time">2014年05月08日 15:23</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>729</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/yu_xiao_xiao/article/details/52554347"  target="_blank" strategy="BlogCommendFromCsdn_4">Swift 3.0 重大版本发生了哪些变化,各位看官请</a></h2>
                          <div class="summary">
                              Swift 是苹果遵循 Apache 开源授权协议开源的一门编程语言

Swift 3 源代码不兼容旧版本，主要是因为 SE-0005 和 SE-0006 的改进，这些改进不仅影响 Standar...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/yu_xiao_xiao" target="_blank" strategy="BlogCommendFromCsdn_4"><img src="http://avatar.csdn.net/3/A/E/3_yu_xiao_xiao.jpg" alt="yu_xiao_xiao" title="yu_xiao_xiao"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/yu_xiao_xiao">yu_xiao_xiao</a></li>
                              <li class="time">2016年09月16日 10:43</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>2177</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                        <!-- 广告位：PC端-博客详情通栏7（feed流）-808*120 -->
                  <script>
                      (function() {
                          var s = "_" + Math.random().toString(36).slice(2);
                          document.write('<div id="' + s + '"></div>');
                          (window.slotbydup=window.slotbydup || []).push({
                              id: '4983339',
                              container: s,
                              size: '808,120',
                              display: 'inlay-fix'
                          });
                      })();
                  </script>
                                                                              <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/gf771115/article/details/51682728"  target="_blank" strategy="BlogCommendFromCsdn_5">Xcode 8.0 Beta发布，详解Swift语言的重大变化</a></h2>
                          <div class="summary">
                              转自：http://geek.csdn.net/news/detail/81228


每年的WWDC都是全球苹果开发者的一次大狂欢，今年的WWDC也一样，不过狂欢的主题之一则是：Xcode 8...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/gf771115" target="_blank" strategy="BlogCommendFromCsdn_5"><img src="http://avatar.csdn.net/9/3/7/3_gf771115.jpg" alt="gf771115" title="gf771115"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/gf771115">gf771115</a></li>
                              <li class="time">2016年06月15日 15:32</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>12852</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/czw19900415/article/details/50669195"  target="_blank" strategy="BlogCommendFromCsdn_6">docker v1.10.0 重大变化</a></h2>
                          <div class="summary">
                              近期 docker 发布的最新的版本docker v1.10.0 ，该版本据官方说对于网络、安全和引擎具有重大的更新。现在就来简单介绍一下新变化。

总结：

1该版本的docker对于容器资...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/czw19900415" target="_blank" strategy="BlogCommendFromCsdn_6"><img src="http://avatar.csdn.net/8/8/A/3_czw19900415.jpg" alt="czw19900415" title="czw19900415"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/czw19900415">czw19900415</a></li>
                              <li class="time">2016年02月15日 16:47</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>164</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/netatomy/article/details/8038000"  target="_blank" strategy="BlogCommendFromCsdn_7">ASP.NET 4 的重大变化（和旧版本相比）</a></h2>
                          <div class="summary">
                              声明：本文是ASP.NET 白皮书 ASP.NET 4 Breaking Changes 的阅读摘要，只是本人的学习记录，并非完整翻译，仅供参考，由于水平有限，有些翻译未必准确。点击下载PDF文档。...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/netatomy" target="_blank" strategy="BlogCommendFromCsdn_7"><img src="http://avatar.csdn.net/5/1/4/3_netatomy.jpg" alt="netatomy" title="netatomy"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/netatomy">netatomy</a></li>
                              <li class="time">2012年10月03日 13:48</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>1821</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/ourpush/article/details/52705615"  target="_blank" strategy="BlogCommendFromCsdn_8">苹果iOS开发系列--详解Swift 3.0语言的重大变化</a></h2>
                          <div class="summary">
                              概述

从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0，这期间由于Swift目前还在发展阶段并不能向下兼容，因此第一篇文章中的部分代码在当前的Xcode环境中已经无...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/ourpush" target="_blank" strategy="BlogCommendFromCsdn_8"><img src="http://avatar.csdn.net/C/4/2/3_ourpush.jpg" alt="ourpush" title="ourpush"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/ourpush">ourpush</a></li>
                              <li class="time">2016年09月29日 22:39</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>298</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/sinat_17775997/article/details/76088907"  target="_blank" strategy="BlogCommendFromCsdn_9">详解 Vue 2.4.0 带来的 4 个重大变化</a></h2>
                          <div class="summary">
                              本周Vue.js发布了有着丰富新特性和更加优化的2.4.0版本。
https://juejin.im/post/5976b1d66fb9a06bc45d58d1
在这篇文章中，我将跟大家分享4个有...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/sinat_17775997" target="_blank" strategy="BlogCommendFromCsdn_9"><img src="http://avatar.csdn.net/1/C/1/3_sinat_17775997.jpg" alt="sinat_17775997" title="sinat_17775997"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/sinat_17775997">sinat_17775997</a></li>
                              <li class="time">2017年07月25日 17:37</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>707</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                    </div>
  </main>
<aside>
  <div class="right_box user_info">
      <dl class="inf_bar clearfix">
          <dt class="csdn-tracking-statistics tracking-click" data-mod="popu_381">
              <a href="http://blog.csdn.net/csdnnews" target="_blank">
                  <img src="http://avatar.csdn.net/C/3/E/3_csdnnews.jpg" class="avatar_pic">
              </a>
              <span class="medals" title="">
                        <svg class="icon" aria-hidden="true">
                  <use xlink:href="#icon-bokezhuanjia"></use>
              </svg>
                  </span>
          </dt>
          <dd>
              <h3 class="csdn-tracking-statistics tracking-click"  data-mod="popu_380"><a href="http://blog.csdn.net/csdnnews" target="_blank" id="uid">csdnnews</a></h3>
              <span  class="csdn-tracking-statistics tracking-click" data-mod="popu_379"><a class="btn btn-redborder-small "  id="span_add_follow" target="_self">＋关注</a></span>
          </dd>
      </dl>
      <div class="inf_number_box clearfix">
          <dl>
              <dt>原创</dt>
              <dd>133</dd>
          </dl>
          <dl>
              <dt>粉丝</dt>
              <dd id='fan'>555</dd>
          </dl>
          <dl>
              <dt>喜欢</dt>
              <dd>558</dd>
          </dl>
          <dl>
        <dt>码云</dt>
        <dd>&nbsp;</dd>
      </dl>

      </div>
  <div class="writings">
        <div class="public_signal clearfix">
          <h3>他的最新文章</h3>
          <a href="http://blog.csdn.net/csdnnews" target="_blank" class="more"><span>更多文章</span></a>
        </div>
          <ul class="inf_list clearfix csdn-tracking-statistics tracking-click" data-mod="popu_382">
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888939" target="_blank">微信官方都辟谣，可真有技术人用 AI、大数据实现头像添加圣诞帽了！</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888938" target="_blank">腾讯京东要建“反阿里联盟”？Python 或成 Excel 官方脚本语言；百度华为在一起 | 一周业界事</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888936" target="_blank">微软实习期的我，纠正了一位高级开发人员的错误......</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78888934" target="_blank">价格逼近 2 万美元大关，比特币到底是不是庞氏骗局？</a>
              </li>
                            <li class="clearfix">
                  <a href="http://blog.csdn.net/csdnnews/article/details/78883355" target="_blank">如何从技术上实现「朋友圈@微信官方头像添加圣诞帽」？</a>
              </li>
                        </ul>
      </div>
  </div>
    <div class="user-hotArticle">
        <h3><a href="#related" >相关推荐</a></h3>
        <ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_563">
<!--           [StartRelatedArticles]-->
                                                <li>
                        <a href="http://blog.csdn.net/xishining/article/details/78851699" target="_blank" strategy="BlogRightReleated_0">Visual Studio 2017 的重大功能回顾和针对 .NET 开发者的更新</a>
                                            </li>
                                    <li>
                        <a href="http://download.csdn.net/download/u011730210/5967981" target="_blank" strategy="BlogRightReleated_1">PMBOK第五版重大变化</a>
                                                <div class="read list-left"><i class="icon iconfont icon-read"></i><span>0</span></div>
                                            </li>
                                    <li>
                        <a href="http://download.csdn.net/download/LoveYouForever2010/2437207" target="_blank" strategy="BlogRightReleated_2">Silverlight 的重大变化</a>
                                                <div class="read list-left"><i class="icon iconfont icon-read"></i><span>0</span></div>
                                            </li>
                                    <li>
                        <a href="http://blog.csdn.net/ladooz/article/details/25309715" target="_blank" strategy="BlogRightReleated_3">hadoop2的重大变化简介</a>
                                            </li>
                            <!--            [EndRelatedArticles]-->
        </ul>
    </div>
  <div class="extension_other csdn-tracking-statistics tracking-click" data-mod="popu_389">
     <!--u3032528-->
    <div class="flashrecommend">
        <script type="text/javascript" src="http://mpb1.iteye.com/bwocoltlyzdec.js"></script>
    </div>
  </div>

<!--    [StartShowSelfColumn]-->
    <!--    [EndShowSelfColumn]-->
    <div class="fixRight">
        <!-- 广告位：PC端-博客详情右侧视窗2（feed流）-300*300 -->
        <script>
            (function() {
                var s = "_" + Math.random().toString(36).slice(2);
                document.write('<div id="' + s + '"></div>');
                (window.slotbydup=window.slotbydup || []).push({
                    id: '5384130',
                    container: s,
                    size: '300,300',
                    display: 'inlay-fix'
                });
            })();
        </script>
        <div class="extension_other csdn-tracking-statistics tracking-click bottomRcom" data-mod="popu_389" style="position:absolute;z-index:-5;opacity:0;pointer-events:none">
            <!--u3032528-->
            <div class="flashrecommend">
                <!-- 请置于所有广告位代码之前 -->
                <script src="http://dup.baidustatic.com/js/dm.js"></script>

                <!-- 广告位：PC端-博客详情页右侧视窗1（feed流）-300*250 -->
                <script>
                    (function() {
                        var s = "_" + Math.random().toString(36).slice(2);
                        document.write('<div id="' + s + '"></div>');
                        (window.slotbydup=window.slotbydup || []).push({
                            id: '4770930',
                            container: s,
                            size: '300,250',
                            display: 'inlay-fix'
                        });
                    })();
                </script>
            </div>
        </div>

    </div>
    <div class="user-hotArticle">
        <h3>他的热门文章</h3>
        <ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_521">
<!--            [StartHotArticles]-->
                                                <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78259290">Wi-Fi 爆重大安全漏洞，Android、iOS、Windows 等所有无线设备都不安全了</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>374730</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78557392">数百种编程语言，而我为什么要学 Python？</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>46072</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78248699">一文总结学习 Python 的 14 张思维导图</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>30988</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78280033">一个 38 岁程序员的中年危机</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>30835</span></div>
                    </li>
                                    <li>
                        <a href="http://blog.csdn.net/csdnnews/article/details/78838709">2018 最具就业前景的 7 大编程语言，Java、Python 和 JavaScript 前三无悬念？</a>
                        <div class="read list-left"><i class="icon iconfont icon-read"></i><span>28328</span></div>
                    </li>
                            <!--            [EndHotArticles]-->
        </ul>
    </div>
<!--    [startcustom]-->
    <!--    [endcustom]-->
</aside></div>

<div class="left_fixed">
    <div class="left_show_button">
        <span>
          <i class="icon iconfont icon-youjiantou"></i>
        </span>
    </div>
    <ul class="left_menu">
        <li>
            <button class="left-fixed-btn btn-like csdn-tracking-statistics tracking-click" data-mod="popu_373" target="_self">
                <a href="javascript:void(0);" class="iconbox border_red"><i class="icon iconfont icon-dianzan"></i></a>
                <a class="txt" href="javascript:void(0);">3</a>
            </button>
        </li>
        <li id="blog_artical_directory">
            <button class="left-fixed-btn left_menu_btn csdn-tracking-statistics tracking-click" data-mod="popu_372" target="_self">
                <a href="javascript:void(0);" class="iconbox border_black"><i class="icon iconfont icon-mulu"></i></a>
            </button>
        </li>
        <li class="menu_con">
            <div class="list_father">
                <div class="arr_box">
                    <button class="btn-noborder arr-btn scroll-down  left_scroll_down"><i class="icon iconfont icon-xiajiantou"></i></button>
                    <button class="btn-noborder arr-btn scroll-up left_scroll_top"><i class="icon iconfont icon-shangjiantou"></i></button>
                </div>
                <div class="arr"></div>
                <div id="csdnBlogDir"></div>
            </div>
        </li>
        <!--        <li>-->
        <!--            <button class="left-fixed-btn btn-like tracking-ad" data-mod="popu_373" target="_self">-->
        <!--                <span class="iconbox border_red"><i class="icon iconfont icon-xihuan-"></i></span>-->
        <!--                <span class="txt">喜欢</span>-->
        <!--                <span class="untxt">取消喜欢</span>-->
        <!--            </button>-->
        <!--        </li>-->
        <li>
            <button class="left-fixed-btn csdn-tracking-statistics tracking-click" data-mod="popu_374"  id="com-quick-collect" target="_self">
                <a href="javascript:void(0);" class="iconbox border_purple"><i class="icon iconfont icon-shoucang"></i></a>
            </button>
        </li>
        <li>
            <button class="left-fixed-btn btn-pinglun csdn-tracking-statistics tracking-click" data-mod="popu_544" >
                <a href="javascript:void(0);" class="iconbox border_purple"><i class="icon iconfont icon-pinglun"></i></a>
            </button>
        </li>
        <li id="share_box">
            <button class="left-fixed-btn  csdn-tracking-statistics tracking-click"  data-mod="popu_375" target="_self">
                <a href="javascript:void(0);" class="iconbox border_orange"><i class="icon iconfont icon-fenxiang"></i></a>
            </button>
            <div class="bdsharebuttonbox csdn-tracking-statistics tracking-click" data-mod="popu_172">
                <div class="outside">
                    <span class="iconbox border_red2"><i class="icon iconfont icon-xinlang"></i></span>
                    <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"> </a>
                </div>
                <div class="outside">
                    <span class="iconbox border_green"><i class="icon iconfont icon-weixin"></i></span>
                    <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"> </a>
                </div>
                <div class="outside">
                    <span class="iconbox border_blue"><i class="icon iconfont icon-QQ"></i></span>
                    <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"> </a>
                </div>
            </div>
        </li>
    </ul>
</div>
<div class="right_fixed">
    <div class="r_ico">
        <i class="icon iconfont icon-jubao"></i>
        <span class="txt" id="reportBtn">内容举报</span>
    </div>
    <div class="returnTop">
        <i class="icon iconfont icon-fanhuidingbu"></i>
        <span>返回顶部</span>
    </div>
</div>
<div id="pop_win"></div>
<div id="popup_mask"></div>
<div class="pop_CA_cover" ></div>
<div class="pop pop_CA" >
    <div class="CA_header">
        收藏助手
        <span class="cancel_icon"  id="fapancle" ></span>
    </div>
    <iframe src="" id="collectIframe" frameborder="0" width="100%" height="360"  scrolling="no" ></iframe>
</div>
<!--举报-->
<div id="report_dialog" style="top: 250px; left: 343.5px;"><div id="panel_report">
    <div class="panel_head">不良信息举报</div>
    <form method="post" id="frmReport" class="panel_body">
        <table border="0" cellpadding="0" cellspacing="4" class="pop_table">
            <tbody><tr><td colspan="2">您举报文章：<a href="http://blog.csdn.net/csdnnews/article/details/78898443" target="_blank">回顾 2017， Java 有哪些值得关注的重大变化？</a></td></tr>
            <tr>
                <th style="width:60px;">举报原因：</th>
                <td id="panel_reporttype">
                    <label><input type="radio" class="report_type" id="report_sex" name="report_type" value="1">色情</label>
                    <label><input type="radio" class="report_type" id="report_Politics" name="report_type" value="2">政治</label>
                    <label><input type="radio" class="report_type" id="report_copy" name="report_type" value="3">抄袭</label>
                    <label><input type="radio" class="report_type" id="report_ad" name="report_type" value="4">广告</label>
                    <label><input type="radio" class="report_type" id="report_want" name="report_type" value="5">招聘</label>
                    <label><input type="radio" class="report_type" id="report_call" name="report_type" value="6">骂人</label>
                    <br>
                    <label><input type="radio" class="report_type" id="report_other" name="report_type" value="7">其他</label>
                    <input type="text" name="report_other_content" id="report_other_content" maxlength="30" style="display: none;">
                </td>
            </tr>
            <tr id="panel_originalurl" style="display: none;">
                <th>原文地址：</th>
                <td>
                    <input id="originalurl" value="http://" name="originalurl" type="text" style="width: 90%;">
                </td>
            </tr>
            <tr>
                <th id="sp_reason">原因补充：</th>
                <td>
                    <textarea id="report_description" style="width: 300px;" rows="3" name="report_description"></textarea>
                    <p id="sp_n" style="color:#999;margin:0px;padding:0px;">(最多只允许输入30个字)</p>
                </td>
            </tr>
            <tr>
                <td></td>
                <td>
                    <input id="btnSubmitReport" name="submit" type="image" align="middle" class="btn_1" src="http://csdnimg.cn/release/phoenix/images/btn_submit.jpg">
                    <span style="padding-left:20px;"></span>
                    <img id="btnCloseReportDialog" src="http://csdnimg.cn/release/phoenix/images/btn_cancel.jpg" align="middle">
                    <div id="error" style="color: Red">
                    </div>
                </td>
            </tr>
            </tbody></table>
    </form>
</div>
    <script language="javascript" type="text/javascript">
        var isComment=0;
        //显示隐藏地址
        $(function () {
          console.log("version:phoenix");
            if(isComment){
                $("#report_description").attr("disabled",true);
                $("#sp_n").hide();
                $("#sp_reason").html("评论内容：");
            }
            $(".report_type").click(function () {
                $("#panel_originalurl,#report_other_content").hide();
                switch ($(this).val()) {
                    case '3':
                        $("#panel_originalurl").show();
                        $("#originalurl").focus();
                        break;
                    case '7':
                        if(isComment){
                            $("#report_other_content").show().focus();
                        }
                        break;
                }

            });

            $("#frmReport").submit(function () {
                if (!currentUserName) {

                    if (confirm("您的操作必须登录，是否登录？")) {
                        location.href = "http://passport.csdn.net/account/login?from=" + encodeURIComponent(location.href);
                        return false;
                    }
                    return false;
                }

                var reportType = $("input[name=report_type]:checked").val();
                if(!reportType){
                    alert("请选择举报原因！");
                    return false;
                }
                var otherInfo = "";
                switch (reportType) {
                    case '3':
                        otherInfo = $("#originalurl").val();
                        if (otherInfo == ""||otherInfo=="http://") {
                            alert("举报抄袭必须提供原创文章地址！");
                            $("#originalurl").focus();
                            return false;
                        } else if(!checkeURL(otherInfo)) {
                            alert("请输入正确的原创文章地址！");
                            $("#originalurl").focus();
                            return false;
                        }
                        break;
                    case '7':
                        otherInfo = $("#report_other_content").val();
                        if (isComment && !otherInfo) {
                            alert("请填写举报的具体原因！");
                            $("#report_other_content").focus();
                            return false;
                        }
                        if(!isComment){
                            if(!$("#report_description").val()){
                                alert("请填写举报的具体原因！");
                                $("#report_description").focus();
                                return false;
                            }
                        }
                        break;
                }
                if(!isComment){
                    if($("#report_description").val().length>30){
                        alert("举报原因最多只允许输入30个字！");
                        return false;
                    }
                }
	            nowTime = {
		            year: new Date().getFullYear(),
		            month: parseInt(new Date().getMonth())+1,
		            day: new Date().getDate(),
		            hours: parseInt(new Date().getHours())+1,
		            minutes: parseInt(new Date().getMinutes())+1,
		            seconds: parseInt(new Date().getSeconds())+1
	            };
	            var data = {
		            articleId: fileName,
		            commentId: 0,
		            reportType: reportType,
		            originalurl: $("#originalurl").val(),
		            report_other_content: $("#report_other_content").val(),
		            report_description: $("#report_description").val(),
		            currentUserName: currentUserName,
		            updatetime: nowTime.year+'/'+nowTime.month+'/'+nowTime.day+' '+ nowTime.hours+':'+nowTime.minutes+':'+seconds,
		            blogUser: username
	            };
	            if(!isComment){//如果是举报文章
		            data.report_other_content = data.report_description;
		            // data.report_description = "1. 神经网络这是一个常见的神经网络的图：这是一个常见的三层神经网络的基本构成，Layer L1是输入层，Layer L2是隐含层";
	            }

	            $.post(blog_address + "/common/report?id="+fileName+"&t=2", data, function (data) {
		            if (data.result == 1){
			            SetError("感谢您的举报，我们会尽快审核！");
		            }else{
			            if (data.content) alert(data.content);
		            }

	            });
                return false;
            });

            $("#btnCloseReportDialog").click(function () {
                CloseDiv();
            });

        });

        //提示后关闭方法
        function SetError(error) {
            $("#btnCloseReportDialog").trigger("click");
            alert(error);
            CloseDiv();
        }

        //关闭方法
        function CloseDiv() {

            $.removeMask();
            $("#report_dialog").hide();
            return false;
        }

        //验证url
        function checkeURL(url){
            return /^http(s)?:\/\/([\w-]+\.)+[\w-]+/i.test(url);
        }
    </script>
</div>
<!--  fixme 后期清理掉  -->
<div id="a52b5334d" style="width: 1px; height: 1px; display: none;">
    <script id="adJs52b5334"></script>
    <script>document.getElementById("adJs52b5334").src = "http://ads.csdn.net/js/opt/52b5334.js?t=" + Math.random();</script>
</div>
<script src="http://c.csdnimg.cn/public/common/libs/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://csdnimg.cn/release/phoenix/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script> -->
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<script type="text/javascript" >
    if($(".article_collect li").length==1){$(".article_collect").hide();}
    if($(".article_tags li").length==1){$(".article_tags").hide();}
    $(".edit a").attr("href","http://write.blog.csdn.net/postedit/"+fileName);
    $.each($(".edu_li a"),function(){$(this).attr("href",$(this).attr("href").replace("blog7","blog9"))});
    new CNick('#uid').showNickname();

    if($("#fan").html()=="")
    {
	    $("#fan").html(0);
    }
</script>
<script src="http://c.csdnimg.cn/public/common/append_mark/appendMark.min.js?v=5.00.43" type="text/javascript"></script>
<script type="text/javascript">
    appendMark($('.recommend_list').children('a').find('dt'),$('.extension_other'))
</script>
<div class=""id="loginWrap"></div>
<div class="" id="dlMask"></div>
</body>
